#pragma once

#include "Singleton.h"
#include "CheckMacros.h"

namespace a2d
{
//------------------------------------------------------------------

	class AV2D_EXPORT Log : public Singleton<Log>
	{
	public:
		Log();
		~Log();
		void Print(const char *message, ...);
		void Debug(const char *message, ...);
		void Err(const char *message, ...);

	private:
		void m_init();
		void m_close();
		void m_print(const char *levtext, const char *text);

		FILE *m_file;
	};

//------------------------------------------------------------------
} // namespace a2d
